Wiki
Clone wikijCODE-public / running the code
Running the code
Several files are necessary to run a simulation
- input : text file with all simulation parameters
- grid : binary file describing the geometry of the simulation (x,y,z)
- data : binary file with all necessary variables (density, momentum, energy,...)
This page describes
- initialization
- running
- monitoring
The boundary layer case is taken as an example.
Initialization
First, go in the directory
jcode/examples/boundary_layer
You will find one file
input
This input file contains all the information needed to initialize the code. To perform the initialization, we use the program init_flow. Just type
~/jcode/bin/init_flow input
This will create two new files
- grid
- data.init
With these two files, you are ready to run the code.
Running
To run the code on a single processor, you have two options
~/jcode/bin/jcode input
or
/opt/mpich2/bin/mpiexec -np 1 ~/jcode/bin/jcode input
The first option is similar to any serial code. The second option says to run through mpiexec with 1 processor (-np 1).
To run with 2 processors, you can either set
use manual domain decomposition : .false.
or manually change the number of processors listed in the input file
processor decomposition : 2 1 1
and then you can type
/opt/mpich2/bin/mpiexec -np 2 ~/jcode/bin/jcode input
As you run the code, you should see something like
jCODE
--------------------------------
1 process reporting for duty
Simulation is 2D
--------------------------------
Grid size : 513 x 129 x 1 points
min grid spacing = 6.13E-03 at ( 1, 1, 1)
max grid spacing = 8.67E-02 at ( 1, 129, 1)
New forward run:
--------------------------------
0, time = 0.00000E+00, dt = 3.03937E-03
1, time = 3.03937E-03, dt = 3.03937E-03
2, time = 6.07874E-03, dt = 3.03936E-03
3, time = 9.11810E-03, dt = 3.03936E-03
4, time = 1.21574E-02, dt = 3.03935E-03
5, time = 1.51968E-02, dt = 3.03935E-03
6, time = 1.82361E-02, dt = 3.03934E-03
7, time = 2.12755E-02, dt = 3.03934E-03
8, time = 2.43148E-02, dt = 3.03933E-03
9, time = 2.73541E-02, dt = 3.03933E-03
10, time = 3.03935E-02, dt = 3.03933E-03
The number of processors and grid diagnostics are first reported. This includes the number of grid points and the min/max grid spacing. Next, the columns correspond to
- # : number of the timestep
- Time : running time of the simulation
- dt/cfl : The minimum timestep or the maximum CFL, depending on the time stepping configuration.
In addition, two directories have been created
- monitor : contains files to monitor the behavior of the code
- ensight-3D : contains files used to visualize the flow field
Monitoring
The first step in postprocessing the result is to use the files in the monitor directory. On this page, we will present only briefly one of these files. Let's consider
monitor/velocity
The header of the file (the first line) lists the name of each column. We would like to know how the maximum velocity in the domain changes with time. A useful program to use is
gnuplot
For instance, to plot the function Umax(t), we will type
plot 'monitor/velocity' using 2:3 with linespoints
or alternatively
p 'monitor/velocity' u 2:3 w lp
This command plots (p) from file ('monitor/velocity') Umax (column 3) as a function of time (column 2). As you can see, the maximum velocity decreases due to viscous forces. The decay is exponential. To quit gnuplot, type
quit
or
q
Updated